package org.lanyu.springainovel.common.dto;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotNull;

/**
 * 创建拆书记录请求DTO
 */
@Data
public class CreateRecordRequest {

    /**
     * 记录名称（书名）
     */
    @NotBlank(message = "记录名称不能为空")
    private String name;

    /**
     * 系统提示词模板ID
     */
    @NotNull(message = "系统提示词模板ID不能为空")
    private Long systemPromptId;

    /**
     * 模型ID
     */
    @NotNull(message = "模型ID不能为空")
    private Long modelId;

    /**
     * 原始内容来源类型 (FILE, URL)
     */
    @NotBlank(message = "内容来源类型不能为空")
    private String sourceType;

    /**
     * 原始内容URL
     */
    private String sourceUrl;

    /**
     * 上传的文件（当sourceType为FILE时使用）
     */
    private MultipartFile file;
    
    /**
     * 用户提示词（可选）
     */
    private String userPrompt;
}
